package com.ruoyi.workflow.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.workflow.domain.StatementItem;
import com.ruoyi.workflow.domain.vo.StatementItemVo;

import java.math.BigDecimal;
import java.util.Map;

public interface IStatementItemService extends IService<StatementItem> {

    /**
     * 获取结算单明细
     * 用于预约信息表的结算单： 根据预约表的id获得
     */
    Map<String,Object> getStatementItemByAppointmentInfoId(Long appointmentInfoId);

    /**
     * 获取结算单明细
     * 用于结算单信息表的明细单： 根据结算单表的id获得
     */
    Map<String, Object> getStatementItemByStatementId(Long statementId);

    /**
     * 保存在消费中结算单明细的服务项 【包含：新增，更新，删除】
     *
     * @param statementItemVo - Vo对象新增,更新,删除的列表
     */
    void saveStatementItem(StatementItemVo statementItemVo);

    /**
     * 确认支付
     *
     * @param statementId 结算单的id
     * @param statementId 优惠价格
     */
    void payStatementItem(Long statementId, BigDecimal preferentialPrice);
}
